Method and apparatus for performing spectral processing in tone detection

ABSTRACT

A general purpose network tone detection method and apparatus that allows the precise and accurate recognition of North American tones (MF, DTMF (Dual-Tone Multifrequency), and CPT (Call Progress Tones)) and international MF-R2 tones as well as taking into consideration other common tones such as Calling Card Service Prompt and Recall Dial. Through the use of the Discrete Fourier Transform (DFT) on small time windows and by providing phase continuity between these windows, the results of the successive DFTs may be combined and processed by a second DFT computation. This second DFT allows higher frequency resolution without requiring the re-computation of the DFT from the time samples. The resulting effect is a tone receiver with both high time and frequency resolution which consequently leads to robust and accurate tone recognition systems conforming even to the most stringent specification while maintaining low computational requirements.

FIELD OF THE INVENTION

This invention relates to a method and an apparatus for detecting anddiscriminating between various types of electronic signals. Morespecifically it relates to telephone call processing and is particularlyapplicable to multi-frequency (MF), dual-tone multi-frequency (DTMF),call progress tone (CPT) and MF-R2 tone receivers specifically in thearea of telephone networks.

BACKGROUND OF THE INVENTION

Telephone service providers increasingly supply a wide variety ofoptions and features to subscribers, such as call waiting, three-waycalling, credit card calling among many others. All these services areimplemented to provide customers with conveniences and facilities thatwere unavailable a few years back. In order to achieve communicationbetween various units of a telephone network and with users and henceprovide these services, telephone systems require various types ofcontrol signals. These signals include tones which are used to conveyinformation to the system from the user or, alternatively, to inform theuser of the current status of a telephone transaction. Tones may also beused to communicate between switches and other parts of the telephonenetwork itself.

The correct detection of a tone is crucial to the functioning of thetelephone network since the latter relies on them for operations such asdialling, billing and coin identification. Users also rely on thesetones for information such as busy, dialling and dial tone. As aconcrete example, automatic redial when faced with a billing signal andrecognition of an incoming fax would not be possible without accuratetone recognition.

Four categories of signalling are commonly used each with its ownspecifications and purposes. They are multi-frequency (MF) tones,dual-tone multi-frequency tones (DTMF), international MF-R2 tones andcall progress tones (CPT). There are other signalling sequences that arenot mentioned here since their purposes are similar in nature to thefour signalling conventions mentioned above. Two separate devices areinvolved in the tone communication process: the transmitter, whichcreates and propagates the tones, and the receiver, which receives anddecodes them.

The correct detection of a tone by the receiver implies that the signaloriginating from a transmitter station is accurately decoded by thereceiver as being the transmitted tone. Correct detection by thereceiver of a digit encoded using any signalling methods also requiresboth a valid combination of frequencies and the correct timing element.A valid combination of frequencies implies that the receiver is able todiscern that there is only the specified frequencies present and thatthese frequencies are located at or at least within reasonable distanceof the nominal values. Furthermore the receiver is also able to verifywithin reasonable accuracy that the amplitude, twist and othercharacteristics of the tone conforms to certain pre-determined values.The receiver should also be able to obtain within reasonable accuracythe duration of a tone in order to determine if it is valid whencompared to pre-determined duration requirements such as inter-tonegaps, cadence and other temporal specifications.

Detection of tones is a problem that has been addressed in the past. Forexample Bennett et al., U.S. Pat. No. 5,311,589 assigned to AT&T BellLaboratories, describes a method to process DTMF and CPT tone using theGoertzel algorithm and a logical processing stage. The contents of hisdocument are incorporated herein by reference.

Tone receiver systems have been developed in many parts of the worldand, although it is difficult to describe a standard tone receiverarchitecture, some characteristics are shared between many of them. FIG.1 illustrates a typical tone receiver system as present in the priorart. A typical tone communication system of the type depicted in FIG. 1generally comprises a device such as a transmitter 102 which encodes andtransmits pulses serially in a communication channel 104. Thetransmitter 102 could be a simple touch-tone telephone or be included aspart of a telephone switch. A combination of the pulses transmittedconstitutes a tone which typically has frequencies in the voice range(˜180-3600 Hz). Hence, in a telephone network, the communication channelis the voice channel. At the other end of the channel a receiver 100 isconnected. The receiver 100 monitors the communication channel, detectsand decodes the signal and, in turn, transmits the decoded informationto another device such as a controller 116.

The receiver 100 can be separated into five functional blocks namely ananti-aliasing low-pass filter 105, an analog to digital (A/D) converter106, a storage buffer unit 108, a spectral processor 110 and a logicalprocessor 112. Although a few receivers still use the analog signaldirectly, the trend is clearly towards digitization because it can beprocessed by a digital computer and be implemented on an easilyprogrammable DSP chip. Therefore, the prior system shown here usesdigital signals; however, the same explanations are valid for analogreceiver which use similar analog components. In certain circumstances,the incoming signal may be digital. In these cases the A/D converter 106would not be required. Typically, the incoming signal is digitallysampled by an analog to digital (A/D) 106 converter and assembled intoframes in a storage buffer unit 108. These frames are then analysed atpredetermined frequencies in order to obtain the frequencycharacteristics of the signal during that frame. Generally, the analysisis performed in two separate units 110 112.

The spectral processor 110 analyses the spectral characteristics of thesamples received from the storage buffer unit 108 to obtain frequencyand amplitude information for each frame. This analysis is similar forall types of signals differing perhaps by the frequencies analysed.Furthermore, this operation requires large computational power andlimits the system in its processing capability. Traditionally, thespectral properties of tones have been detected by means of a bank ofbandpass filters, one for each possible frequency in the tone. This isshown in FIG. 2 for the detection of a Multi-Frequency (MF) tone. Thefilters 200 202 204 206 208 210 may be digital or analog, and are usedto estimate the energies of narrow bands of the spectrum in order toobtain a frequency representation of the signal. The bands are centredat the frequencies of interest and their width is chosen to reflect thefrequency tolerance of the receiver of each analysed frequency. In thecase of MF signalling, a tone is registered as present if and only ifthere is sufficient energy in two spectral bands. This can be verifiedby means of devices comprising an energy computation and apre-determined amplitude threshold 212 214 216 218 220 222. Anothertechnique that can also be commonly used is to analyse the spectralcharacteristics of the signals involves the computation of the DiscreteFourier Transform (DFT). Typically the DFTs are computed only at thefrequencies of interest and result in an estimation of energy in thefrequency domain. This method is described in detail in “Discrete-TimeProcessing of Speech Signals” by Deller, Proakis and Hansen, MacmillanPublishing Company New York 1993 whose contents are hereby incorporatedby reference. Energy estimates obtained at this stage are propagated tothe logical processing stage 112.

The logical processing stage 112 determines, based on the informationobtained from the previous stage, if a valid tone has been detected byevaluating the temporal and logical characteristics in the signal. Usingthe computed amplitude of each frequency, a candidate tone is determinedfor each frame and is often compared to previous frames for continuity.For instance, in the case of MP signalling, two and only two frequenciesmust be above the energy threshold. In any other circumstance either thesignal should be ignored or an error should be reported. The temporalcharacteristic involves comparing the duration and cadence of the tonewith respect to some reference template. In the case of MF and DTMFsignals this temporal analysis is limited to short time duration signalstypically in the range of 10 ms to 40 ms. For example, in the case of aDTMF digit with a frame length of 10 ms, three consecutive frames arecompared in order to conform to established standards and obtain 30 msduration for the tone. In the case of a CPT tone, a larger number offrames may be required to verify if the pattern of the given tonematches a predefined pattern with the same frequencies. A detaileddescription of logical processing can be found in Bennett et al., U.S.Pat. No. 5,311,589 assigned to AT&T Bell Laboratories for both CPT andDTMF tones. Once either a valid tone or no tone has been detected, theresult is sent to another device such as a controller 116 that uses thedecoded information. The type of computation performed in the logicalprocessing block is generally not computationally intensive and varies alot between different signalling protocols.

Tone receivers of the type described above have been used in the past intone detection and recognition systems. Such systems are oftenintegrated into telephone networks where the different modules of thecommunication channels are able to communicate by sending and receivingvarious tones. The difficulty concerning the detection of tones istwo-fold.

The first problem lies in the fact that many different types of signalsare currently in use or will be introduced in the future. A maindeficiency of the current systems is their lack of flexibility and thedifficulty of reprogramming the Discrete Fourier Transform (DFT) inorder to adapt to new tones such as Special Information tones (SIT), faxcalling tones, recall dialling tones amongst many others. Thisdifficulty implies considerable efforts in the redesign of new systemsto accommodate these new tones and hence considerable costs.

The other problems of detecting tones arise from the nature of thetelephone network itself. In the normal course of tone detection it mayoccur that a speech utterance is mistaken for a tone, that a tone is notdetected or that a given tone is mistaken for another. Although dualfrequencies in MF, DTMF and CPT were chosen to be non-harmonicallyrelated and hence have little resemblance to the harmonic characteristicof the human voice, these tones have frequencies located on the sameband as speech (˜180-3600 Hz). Human speech as well, has manyfundamental and harmonic frequencies located in that band which causes asituation called “talk-off”. Talk-off occurs when human speech, music orother sounds are mistaken for a tone in a telephone network context.This problem is compounded by noise on the lines since noise may occurin all frequency bands.

Another difficulty resides in providing precise control over thefrequency spectrum. About a nominal candidate frequency F_(o), which isone of the frequencies of a given tone, a small error margin is acceptedto take channel distortions and other physical effects into account. Theold band-pass filter technique does not allow precise control of thefrequency tolerance bands unless the filter order is very elevated whichin turn is costly. As a result, the false classification of a detectedtone may occur or alternatively, speech signals may be mistaken for anaudible tone.

Another problem lies in the difficulty in providing precise control ofthe time duration of a signal that is caused by the long. framesrequired to have a high frequency resolution. In order to have a highfrequency resolution in DFT computations and hence be able todistinguish smaller and smaller portions of the frequency spectrum, along time interval or window is required. By doing so, the timeresolution and hence the capacity of distinguishing between short timeintervals is decreased. This is known as the frequency/time resolutiontrade-off.

Furthermore, band-pass filters and the traditional DFT computation arenot reliable with tones distorted with Gaussian noise, impulse noise,speech signal, tone interruptions, time shifts between frequencycomponents and those having ambiguous transition time zones between twostates. This type of interference is very common in telephone networkswhere the transmission lines are subject to atmospheric conditions andan uncontrollable environment.

Thus, there exists a need in the industry to provide a tone detectionreceiver particularly well suited to telephone networks that is capableof a high degree of flexibility, accuracy and robustness, can be adaptedto the majority of current and future signalling protocols with minimaldifficulty and which maintain high computational efficiency, and finallythat is capable of providing a precise control over the acceptance andrejection bands for both time and frequency domain parameters of thetone in order to reduce false detection events.

OBJECTS AND STATEMENT OF THE INVENTION

A principal object of the invention is to provide an improved tonereceiver, particularly well suited for use in telephone networks.

Another object of the invention is to provide an improved method forperforming tone detection and recognition processes, particularly wellsuited in the context of a telephone network.

As embodied and broadly described herein the invention provides a tonedetection apparatus, said apparatus comprising:

an input for receiving a digital signal potentially containing a tonedetectable by said apparatus;

DFT computation means for computing a discrete Fourier transformcoefficient for at least one candidate frequency for each sub-frame in aset of successive sub-frames of the digital signal, each sub-framecontaining a plurality of signal samples, said DFT computation meanscomputing a discrete Fourier transform for a given sub-frame of said setother than the first sub-frame of said set in a phase continuityrelationship with a preceding sub-frame, said DFT computation meansproviding a phase offset for the given sub-frame to establish said phasecontinuity relationship with the preceding sub-frame;

processing means utilising said discrete Fourier transform coefficientfor each sub-frame in said set to determine if a predetermined toneexists in said digital signal.

In a preferred embodiment, the tone detection apparatus performs adirect computation of the Discrete Fourier Transform (DFT) on short timesub-frames and then performs both a summing operation on complete frameand second DFT computation on segments. Both frames and segments arecombinations of sub-frames. Preferably a frame is composed of two orthree sub-frames while a segment is about seven sub-frames. Other sizecombinations are possible depending on the desired time and frequencyresolution. Most preferably, the apparatus comprises:

An anti-aliasing low-pass filter to eliminate the spectral portion ofthe analog signal that is not in the range of interest.

An analog to digital (A/D) converter which samples the incoming signalat a rate at least equal to the Nyquist rate (8000 Hz for a telephonenetwork) and converts it to a digital format such as PCM code.

A quadrature processing block that allows the system to substantiallyreduce the data stream with minimal loss of information as well asperforms the first stage of spectral analysis. This processing blockcomputes the DFT coefficients at candidate frequencies for eachsub-frame of the signal.

A frame processing block which obtains magnitude information about thenominal frequencies of the incoming signal and produces a candidatetone. This is performed by summing the DFT coefficients of consecutivesub-frames computed by the quadrature-processing block.

A precision spectral processing block which obtains precise resultsregarding the frequency deviation of the signal with respect to nominalfrequencies and permits stringent control over the accept/rejectfrequency bands of the receiver. This is achieved by computing a secondlevel DFT on the basis of the first level DFTs computed by thequadrature-processing block.

A logical processing block that compares temporal characteristic of thesignals with pre-determined values as well as determines based onresults from the quadrature and precision spectral processing blocks, ifa proper tone has been detected. This stage also permits to correctlyidentify tones where the two frequency components are slightly shiftedin time.

A cadence processing block, part of the logical processing block, whichanalyses the results of the logical processing block over a slightlylonger period of time (generally in terms of seconds instead of msec forthe other stages). It allows determining if the correct cadence or timepattern has been detected. This block is present mainly when the tonedetector is used for CPT tone detection and may be absent from certaindesigns without detracting from the spirit of the invention.

The tone detector may further comprise:

A buffer that accumulates the digitally sampled incoming signal intosub-frames that will be used in future processing.

A plurality of buffers, one for each analysed frequency, whichaccumulate the result of the first processing stage into another bufferrepresenting a sequence of consecutive frames.

A lookup table that comprises the pre-computed sine and cosine valuesneeded for the Discrete Fourier Transform (DFT) computation. This tableis used in both the quadrature processing block and the precisionspectral processing block.

In a most preferred embodiment, the tone detection apparatus operates asfollows. The apparatus receives an analog signal from the system. Theanalog signal is first low passed filtered and then sampled in order toproduce a digital signal. In the case of a telephone networkapplication, the filtering is usually done at 4 kHz, since thefrequencies of interest are in that range and therefore the samplingrate would be 8 kHz as directed by the Nyquist theorem. The digitalsamples are then stored in a buffer of size N that represents asub-frame of the signal. The size of the sub-frame will determine thetime resolution of the system. These samples are then transferred to thequadrature-processing block. There a DFT is computed on these sub-framesat each of the analysed candidate frequencies. A set of parameters,which are simply the values obtained by performing a DFT on a sub-frame,is generated. There is one parameter for each analysed frequency. In thecase of MF signalling, six frequencies {700, 900, 1100, 1300, 1500, and1700} must be analysed and, therefore, six parameters will be generatedfor each sub-frame. These parameters in turn are stored, each in aseparate buffer. Once this analysis has been performed on a plurality ofsub-frames and the resulting parameters have been stored in buffers,these computed values are processed by the frame processing stage and bythe precision spectral processing stage.

The frame processing is executed for each of the analysed frequenciesabout a nominal value. The purpose of this stage is to evaluate theamplitude of the signal about the nominal frequencies and to possiblyobtain a candidate tone. The analysis is done by computing for eachnominal frequency the sum of the DFT coefficients of K consecutivesub-frames obtained from the quadrature-processing block where K is thenumber of sub-frames in a frame. Because the computations in thequadrature processing stage ensure phase continuity between consecutivesub-frames, computing the sum of the DFTs over K consecutive subframesis equivalent to computing the DFT over one frame directly from the timesamples. The frame referred to in the previous sentence being composedof the same time samples as the K sub-frames. However, the computationof a sum is clearly simpler than that of a DFT and hence the DFTcomputed on the frame provide higher frequency resolution. The framescan also be made to overlap by including one or more of the lastsub-frames composing the frame at the beginning of the following frame.

The next stage referred to as precision spectral processing is executedfor each of the frequencies of the candidate tone (usually two) around anominal value. The analysis is computed on segments that are preferablylonger than frames usually composed of a few consecutive sub-frames. Thepurpose of this stage is to obtain power estimations for very narrowfrequency bands and to determine if the frequency tolerance requirementwas satisfied. Advantageously, an analysis is performed on (2L+1) localfrequencies placed at regular intervals on both sides of a frequencythat is closest to the nominal in a range determined by the frequencytolerance. The analysis is done by computing a weighted version of theDFT operation at each of the local frequencies and then applyingmagnitude and weighting operators. The weighting function is usually atime domain window such as a Hamming window centred about a frequencynear the nominal. Energy values and the centre frequencies of the inputsignal are found at this stage which are then supplied to the logicalprocessing stage which compares the values obtained at each of theanalysed frequencies and determines if the specifications have been metfor a given tone. In the affirmative, information about the tonereceived is sent to a controller station where the operation orconnection is performed. In the event that some or all of thespecifications have not been met, an error may be reported as in thecase where more than two frequencies are above the energy threshold.Alternatively, the erroneous sequence may be ignored.

In a most preferred embodiment of this invention, the tone detectionapparatus is integrated into a communication channel, such as one thatcould be used in a telephone network, that enables the accuratedetection and decoding of Multi-Frequency (MF) tones. MF tones aremainly used to transmit calling and/or caller number information betweentelephone switches. An MF tone is detected if and only if two of theallowable frequencies are above a certain amplitude threshold and thedurations are long enough to avoid any erroneous recognition. Eachcombination of two frequencies represents a pulse that in turnrepresents a digit. If more than two frequencies are present, as causedby a double key press, the receiver should report an error. Frequencyand duration standards for MF are shown in tables 1 and 2.

TABLE 1 The table below shows the multi-frequency (MF) tone combinationsfor the various digits and control signals. f1/f2 Hz 700 900 1100 13001500 1700  700 X 1 2 4 7 ST3P  900 1 X 3 5 8 STP 1100 2 3 X 6 9 KP 13004 5 6 X 0 ST2P 1500 7 8 9 0 X ST 1700 ST3P STP KP ST2P ST X

TABLE 2 Specifications for tone receivers describe a variety of criteriathat the receiver must conform to. Tolerances are generally specifiedwith an “accept band”, within which the tone must be accepted, and a“reject band” in which the tone must be rejected. Often there is a gapbetween these two bands in which the tone may or may not be accepted.The table below shows the tolerance of the MF system as directed by theBellCore specification “BOC Notes on the LEC Networks SR-TSV-002275”:Accept Reject Frequency Tolerance +1.5% + 5 Hz, −1.5% − 5 Hz ±3.5%Amplitude Level 0 to −25 dBm0 per frequency ≦35 dBm0 per frequencyAmplitude Twist ±6.0 dB. Desirable to accept greater twist Not specifiedSNR Gaussian noise ≧20 dB N/A Impulse noise ≧−12 dB N/A Tone durationAll except KP: ≧30 ms All except KP <10 ms (desirable) a) of eachfrequency component KP: ≧55 ms KP: <30 ms Tone Duration ≧26 ms (i.e. thetwo component may be 10 ms b) Coincidence (overlap) shifted by 4 ms)Inter-digit duration ≧25 ms Bridge interruptions at least up to 10 msbut not exceeding 25 ms after the minimum duration signal 30 ms has beenreceived

In a typical interaction a transmitter from a calling office initiates atone sequence by sending a special tone, called the KP tone, and thenproceeds by sending a series tones representing a digit sequence. Upontermination, the transmitter sends a ST tone to indicate the end of thetone sequence. The MF receiver monitors the communication channel forthe KP tone. Until its reception, it ignores all signals on the channel.Once it receives the KP tone, it monitors the channel, performs ananalog to digital conversion of the signal and proceeds in the spectraland temporal analysis of the signal. The spectral analysis is performedby computing the straight DFT at the six frequencies of interest {700,900, 1100, 1300, 1500, and 1700} over a short time sub-frame. Followingthis, the frame processing computes the sum of the DFT coefficients overa frame (typically two or three sub-frames) and a second DFT isperformed on the results of the first DFT over a segment. This allows avery high time resolution due to the short time window of the first DFTand a high frequency resolution due to the longer time window resultingfrom the concatenation of many sub-frames in the second DFT. Followingthis computation, the results of the quadrature processing stage, theprecision spectral processing stage and the frame processing stage aresent to the logical processing block which evaluates if somepredetermined amplitude criteria have been met and if the temporalrequirement have been attained. If a valid tone is detected, thecorresponding digit is sent to a controller that performs apredetermined operation such as connection or billing. Once the receiverdecodes the ST tone, it stops monitoring the communication channel fordigit tone and monitors for the KP tone once again.

In another specific embodiment of this invention, the tone detectionapparatus is integrated into a communication channel, such as one thatcould be used in a telephone network, that enables the accuratedetection and decoding of Dual Tone Multi-Frequency (DTMF) tones. DTMFare mainly used for communications between the user and the system andcan also be used to transfer information between telephone switches. Asa concrete example of DTMF signalling, customers dialling into a serviceprovider and requesting information may confirm what is understood bypressing the numbers on a touch tone pad. DTMF tones are similar to MFtone in the sense that they are composed of two and only twofrequencies. However, DTMF tones consist of one frequency from a lowgroup and one frequency from high group and have 16 distinctcombinations. The table 3 and 4 show the frequency and timespecification for DTMF tones. The spectral processing of a DTMF tone issimilar to the MF except that the frequencies analysed are different andthat there are no KP/ST tones.

TABLE 3 The table below shows the dual tone multi-frequency (DTMF) tonecombinations for the various digits and control signals. High GroupFrequencies (Hz) 1209 1336 1477 1633 Low 697 1 2 3 A Group Frequencies770 4 5 6 B (Hz) 852 7 8 9 C 941 * 0 # D

TABLE 4 Tolerances are generally specified with an “accept band” withinwhich the tone must be accepted and a “reject band” in which the tonemust be rejected. Often there is a gap between these two bands in whichthe tone may or may not be accepted. The table below shows the toleranceof the DTMF system as directed by the BellCore specification: AcceptReject Frequency Tolerance ±1.5% ±3.5% Amplitude Level 0 to −36 dBm0 perfrequency <55 dBm0 per frequency Amplitude Twist if high frequency toneis 4.0/−8.0 dB Not specified relative to the low frequency tone SNRGaussian noise ≧20 dB N/A each frequency component must satisfy SNR ≧16dB Impulse noise ≧−12 dB N/A Tone duration ≧40 ms <23 ms Inter-digitduration ≧40 ms No rejection bridging specified

In another specific embodiment of this invention, the tone detectionapparatus is integrated into a communication channel, such as one thatcould be used in a telephone network, that enables the accuratedetection and decoding of Call Progress Tones (CPT). Call progresstones, also called audible tones, are used to inform users and operatorsof the system about the progress or disposition of the telephone callthey are attempting. CPT tones include the dial tone, audible ring, linebusy, reorder, special service information tones (SIT), recall dial toneand many others represented as Multi-frequency signals having a complexcadence. Traditionally, standards governing the CPT tone have been verylax. Typically, we differentiate CPT tone more on the basis of theircadence than on stringent frequency and time accept/reject rules incontrast to the case for MF and DTMF tones where precise specificationsare given. Tables 5 and 6 show the frequency and timing characteristicsof the common CPT tones. The spectral processing of this type of signalis similar to that of the MF and DTMF signals except for the frequenciesanalysed and the absence of the KP/ST tones. The temporal processinghowever involves evaluating over a longer time period the cadence of thesignal with respect to some predefined cadence.

TABLE 5 Call progress tone (CPT) are defined by the following frequencymatrix: f1/f2 Hz 0 440 480 620 350 Dial Tone/Stutter Dial Tone 440 CallWaiting/ Ringing Variations 480 Busy/Reorder

TABLE 6 The table below illustrates the frequency and timing behavioursof common CPT tones. Note that Dial, Ring, Busy and Reorder aredual-tones (i.e. 2 frequencies) while the SIT is a concatenation ofthree mono-tones (i.e. 1 frequency) Tone Type Freq. Components (Hz)Timing Information Dial 350.0 + 440.0 Steady Ring 440.0 + 480.0 Cadenceof 2.0s ON, 4.0s OFF Busy 480.0 + 620.0 Cadence of 0.5s ON, 0.5s OFFReorder 480.0 + 620.0 Cadence of 0.25s ON, 0.25s OFF SIT 913.8, 1370.6,1776.7 274 ms, 274 ms, 380 ms

As embodied and broadly described herein the invention also provides animprovement to a tone detection apparatus that comprises:

an input for receiving a digital signal potentially containing a tonedetectable by said apparatus;

first level DFT computation means for processing the digital signal tocompute a plurality of discrete Fourier transform coefficientsassociated to a candidate frequency, each discrete Fourier transformcoefficient being associated to a respective sub-frame in a set ofsuccessive sub-frames of the digital signal;

second level DFT computation means for computing at least one discreteFourier transform coefficient associated to the set of successivesub-frames on the basis of the plurality of discrete Fourier transformcoefficients computed by said first level DFT computation means.

As embodied and broadly described herein the invention also provides amethod for detecting tones in a digital signal, said method comprisingthe steps of:

receiving a digital signal potentially containing a tone detectable bysaid apparatus;

computing a discrete Fourier transform coefficient for at least onecandidate frequency for each sub-frame in a set of successive sub-framesof the digital signal, each sub-frame containing a plurality of signalsamples, the computation of a discrete Fourier transform for a givensub-frame of said set other than the first sub-frame of said set beingeffected in a phase continuity relationship with a preceding sub-frame,the computation of a discrete Fourier transform for the given sub-frameincluding providing a phase offset to establish said phase continuityrelationship with the preceding sub-frame;

utilising said discrete Fourier transform coefficient for each sub-framein said set to determine if a predetermined tone exists in said digitalsignal.

As embodied and broadly described herein the invention also provides animprovement to a method for detecting tones in a digital signal, theimprovement comprising the steps of:

a) receiving a digital signal potentially containing a tone;

b) processing the digital signal to compute a plurality of discreteFourier transform coefficients associated to a candidate frequency, eachdiscrete Fourier transform coefficient being associated to a respectivesub-frame in a set of successive sub-frames of the digital signal;

c) computing at least one discrete Fourier transform coefficientassociated to the set of successive sub-frames on the basis of theplurality of discrete Fourier transform coefficients computed at stepb).

As embodied and broadly described herein the invention also provides atone detection apparatus, said apparatus comprising:

an input for receiving a digital signal potentially containing a tonedetectable by said apparatus;

energy determination means for assessing a cumulative energy valueindicative of a total energy in said digital signal over a certain timeperiod at a plurality of predetermined frequencies in said digitalsignal, each one of said predetermined frequencies corresponding to agiven tone;

processing means operative if said cumulative energy value exceeds athreshold to determine at which frequency of said plurality offrequencies a tone is present.

In a most preferred embodiment, the tone detection apparatus as definedabove in broad terms features a dual-stage process for detecting thepresence of tones in the signal. The first stage of the process isdesigned to detect if a tone is likely to exist in the signal. If thelikelihood of a tone presence is significant, the second stage isinvoked that performs a more detailed analysis of the signal to identifywhich tone is present and whether this tone is within an acceptablefrequency tolerance range. During the first stage the energy of thesignal is computed over a plurality of signal sub-frames in thefrequency bands of interest, each frequency band corresponding to agiven tone. For each sub-frame this involves computing a DFT coefficientfor each frequency band. The DFT coefficients are computed in aphase-continuous fashion from one sub-frame to another, thus enabling toestimate the energy in the frequency bands of interest over a full frame(made up by a number of sub-frames) by simply adding the DFTcoefficients for the different sub-frames. This addition allowsobtaining a value indicative of the combined energy in the frequencybands of interest over a period of time corresponding to the duration ofthe frame. If the combined energy exceeds a certain threshold, thatmeans that a tone is likely to exist in the signal, then the second,detailed analysis stage is effected. During that second stage analysis,the frequency band where a high energy level is present is identified todetermine which tone is present, and also a frequency tolerance test isperformed to determine if the frequency of the existing tone is within acertain acceptance range.

As embodied and broadly described herein, the invention also provides amethod for detecting tones in a digital signal, said method comprisingthe steps of:

receiving a digital signal potentially containing a tone detectable bysaid apparatus;

assessing a cumulative energy value indicative of a total energy in saiddigital signal over a certain time period at a plurality ofpredetermined frequencies in said digital signal, each one of saidpredetermined frequencies corresponding to a given tone;

determining at which frequency of said plurality of frequencies a toneis present when said cumulative energy value exceeds a threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of the present invention will become apparentfrom the following detailed description considered in connection withthe accompanying drawings. It is to be understood, however, that thedrawings are designed for purposes of illustration only and not as adefinition of the limits of the invention for which reference should bemade to the appended claims.

FIG. 1 shows a high-level block diagram of a prior art tone receiverused in the context of Multi-Frequency (MF) or Dual Tone Multi-Frequencytones.

FIG. 2 shows an example of a prior art spectral processing unit thatuses bandpass filters to analyse the incoming signal. This system isapplicable to MF detection.

FIG. 3 shows a high-level block diagram of a preferred embodiment of thetone detection apparatus constructed in accordance with the presentinvention.

FIG. 4 shows a detailed block diagram of the quadrature-processing blockof the tone detection apparatus of FIG. 3.

FIG. 4a shows a block diagram of the processing block, for computingexponential values using a lookup table of the apparatus, in accordancewith the invention.

FIG. 5 shows a detailed block diagram of the preferred embodiment of theframe-processing block of the apparatus constructed in accordance withthe invention.

FIG. 6 shows a detailed diagram of the preferred embodiment of thespectral processing block of the apparatus constructed in accordancewith the invention.

FIG. 7 shows a state diagram for the logical processing of an MF signal.

FIG. 8a shows a flow chart showing the decision process for the WaiToffstate.

FIG. 8b shows a flow chart showing the decision process for the Toffstate.

FIG. 8c shows a flow chart showing the decision process for the Tfrontstate.

FIG. 8d shows a flow chart showing the decision process for the Tonstate.

DESCRIPTION OF A PREFERRED EMBODIMENT

For the purpose of this specification the expression “accumulator” isused to designate a device used to sum numbers by adding its currentcontent to an input value and then replacing its current value by thenewly computed one. In mathematical terms to perform the operationx=x+y.

For the purpose of this specification the expression “complexaccumulator” designates an accumulator where the arguments are of theform “a+ib” and where a and b are real numbers and i={square root over(−1)}. Furthermore this device preferably stores the real and imaginaryparts of the result separately.

For the purpose of this specification the expression “complexmultiplication” designates a multiplication where the arguments are ofthe form “a+ib” and where a and b are real numbers and i={square rootover (−1)}. Furthermore a device implementing this operation preferablystores the real and imaginary parts of the result separately.

The present inventors have made the unexpected discovery that byperforming a first DFT on a short time window (sub-frame) followed by asum on a larger window (frame) and a second DFT block on yet anotherlarger window (segment), both high time and frequency resolution can beobtained while requiring a minimal amounts of computation. A tonedetection apparatus implementing this inventive principle can be adaptedto various signalling codes by simply modifying a pre-determined set ofparameters. The result is a robust, highly efficient tone detectionsystem that can be easily adapted to recognise current and futuresignalling convention by simply changing the necessary parameters.

The use of the first DFT block with short time duration sub-framesenables to obtain a high temporal resolution for the signal. As aspecific example, suppose the signal is sampled at a rate of 8000 Hz andthat the time window in 20 samples this permits a time resolution of:$\frac{20{{samples}/{subframe}}}{8000{{samples}/\sec}} = {2.5\quad {{ms}/{subframe}}}$

On the other hand the spectral resolution is poor being only 400 Hz inthe example above. Hence, this stage allows a precise control over thetone duration evaluation.

The use of the frame-processing block with a duration of a frame(typically 2 to 4 sub-frames) enables to obtain a slightly betterfrequency resolution of the signal. This stage supplies the logicalprocessing stage with amplitude and duration information sufficient toverify the presence of a candidate tone. This stage is a compromisebetween time and frequency resolution and is commonly the only onepresent in prior art systems.

The second DFT, obtained by using results computed in the first DFT on acomplete segment, preferably comprising about seven sub-frames, enablesus to obtain high spectral accuracy. Ensuring the first DFT is phasecontinuous allows using the result directly in the second DFT withoutrequiring a return to the time domain signal. Taking the exampledescribed above and assuming that a frame is composed of 7 sub-frames,the frequency resolution becomes ˜57 Hz. This stage allows a precisecontrol of the frequency acceptance and rejection bands. By changing thenominal frequencies where each of these two blocks computes the DFT,this configuration can be adapted to suit nearly any signal.

In a most preferred embodiment of the present invention, the tonedetection apparatus receives an analog signal that is then processed bya four-step operation shown in FIG. 3.

Anti-Aliasing Low-pass Filter

The first step, usually referred to as the anti-aliasing low-pass filter105, is used to eliminate frequencies outside the range of interestthereby eliminating or reducing the effect of aliasing when thecontinuous signal is converted to digital format. By the Nyquisttheorem, the cut-off frequency of the filter should be half that of thesampling frequency. In the case of a telephone network application, thecut-off is generally about 4000 Hz. This operation is very well known inthe art of signal processing and as a reference the reader may choose toconsult “Discrete-Time Processing of Speech Signals” by Deller, Proakisand Hansen, Macmillan Publishing Company New York 1993 whose content ishereby incorporated by reference.

Analog to Digital Converter

The second step, usually referred to as the analog to digital converter106, consists of sampling the incoming analog signal to produce adigital version of it. Sampling is usually performed at a rate at leastequal to the Nyquist rate such as to avoid the possibility of aliasing.In the context of a telephone network this rate is 8000 samples/second.Typical digital representations that could be used in the context of areceiver include Pulse Code Modulated signals (PCM), differential PCM(DPCM) and Adaptive Delta Modulation (ADM). Many coding schemes existand are used for various reasons such as efficiency, compactness,simplicity and others. The most preferred embodiment of this inventionuses the PCM coding scheme. The analog to digital conversion process iswell known in the art of signal processing and telecommunications. Notehere that in the case the input signal is digital, this A/D converter106 and the low-pass filter 105 are not required. Further information onPCM and other coding techniques can be obtained on this topic in“Discrete-Time Processing of Speech Signals” by Deller, Proakis andHansen, Macmillan Publishing Company New York 1993 whose content ishereby incorporated by reference. The digital samples obtained from theA/D converter 106 are then stored into sub-frames 108. Once apredetermined number of samples have been collected, these samples arepassed on to the next stage. The number of samples N in the storagebuffer depends on the frequency and time resolution desired by thesystem. Since at this stage we are mainly concerned with high timeresolution, short time windows are used. In an embodiment of thisinvention used for MF detection, we use sub-frames of 20 samples, whichgives us a time resolution of 2.5 ms at the sampling rate of 8000 Hz.

Spectral Processing

The third step, called spectral processing 301, comprises threefunctional blocks 300 303 304, a frame storage unit 302 and a set ofparameters 308. The three functional blocks, namely the quadratureprocessing block 300, the frame processing block 303 and the precisionspectral processing block 304, do not depend on signal sequences, whichmeans that they do not depend on the temporal characteristics of thesignal. Therefore, for the different classes of signals (MF, DTMF,MF-R2, and CPT) the only differences in the spectral processing step arethe parameters 308 such as the nominal frequencies and the levels oftolerance that may be supplied for each different signal class.

The quadrature-processing block 300 performs the preliminary filtrationof the signal by performing a DFT computation at each frequency ofinterest on a sub-frame of the digital signal. It consists of N_(f)structurally identical DFT channels where N_(f) is equal to the numberof analysed frequencies. For MF signalling N_(f) would be equal to 6since the six frequencies {700, 900, 1100, 1300, 1500, 1700} must beanalysed. This stage achieves the high time resolution required foraccurate tone detection. The spectral analysis is performed on thedigital samples stored in the buffer 108 and the DFT coefficients areobtained at this stage. The DFT is well known in the art of signalprocessing and basic principles can be found in “Discrete-Time SignalProcessing” by Oppenheim and Shafer, Prentice Hall series, 1989 whosecontent is hereby incorporated by reference. The DFT coefficients arecomputed by using the following equation: $\begin{matrix}{{{\xi_{k}\quad (r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}\quad {x_{i}\quad \exp \{ {{j\quad 2\quad \pi \quad f_{k}\quad {iT}} + \Phi_{k}} \}}}}{{{for}\quad i} = {{{rN}\quad {to}\quad {rN}} + N - {1\quad {i.e.\quad {over}}\quad {one}\quad {sub}\text{-}{frame}}}}{j = {{sqrt}\quad ( {- 1} )}}} & (1)\end{matrix}$

In the above equation: x_(i) designate the PCM sample at time i; r isthe sub-frame number; k is the index of the frequency analysed; f_(k) isthe frequency analysed; T is the reciprocal of the sampling rate andφ_(k) is the starting phase of the current sub-frame. The phasecomponent φ_(k) is used at this stage in order to permit phasecontinuity between sub-frames and allow parameters computed usingsub-frames to be combined without requiring the re-computations of theDFT. In a specific example, when computing the DFT coefficients for agiven sub-frame, the variable φ_(k) for use in the above formula is setto the value of the final phase of the previous sub-frame. This featureenables to provide phase continuity between the sub-frames.

A specific example of a device to carry out the DFT computation isdepicted in FIG. 4. The device comprises:

Complex multipliers 402 404 406, one for each of the analysedfrequencies. For example, in the case of MF signalling, six suchmultipliers would be required.

Complex accumulators 408 410 412, one for each of the analyzedfrequencies. In FIG. 4, these blocks 408 410 412 indicate that theresults of the multiplications 402 404 406 are summed over onesub-frame.

Following this, the computed values 414 416 418 are stored each in aseparate buffer 420 422 424 where they are stored until a full frame iscomputed. Note that the illustration in FIG. 4 shows only 3 channels forthe sake of simplicity. In the case of a receiver detecting MF, DTMF,CPT or any other signalling, the number of channels would be equal tothe number of frequencies being analysed. For example, in the case of MFsignalling 6 channels will be required to analyse the six possiblefrequencies.

The computation of the complex multiplications 402 404 406 requires amore detailed explanation. In order to speed up the computations andhence favour the real-time characteristic of the invention, a look-uptable is used to reduce the computational load by pre-computing a set ofvalues and storing them in a permanent or temporary computer readablemedium. This reduces the complicated computation of an exponential intothe computation of addresses in a look-up table. Furthermore, in orderto satisfy the phase continuity criteria of the DFT computation for thisinvention, care must be taken to properly set the phases φ_(k) in theexponential values in order to achieve this goal. This is donecontinuing the initial phase of a sub-frame DFT computation from thefinal phase of the previous sub-frame DFT computation. FIG. 4a showsthis computation, as it would be performed in a preferred embodiment ofthis invention. This modules comprises:

A read-only-memory (ROM) unit 500 where the lookup table of previouslycomputed values is stored.

An index register 502 used to store the last address in the lookup tableof the frequency analyzed. In order to provide phase continuity, boththe real and imaginary part of the computation are stored and updatedseparately.

A modulo M adder 504 used to compute the address in the lookup table.

A δ register 506 used to contain the step size for each of thefrequencies analyzed.

An accumulator 508 used to sum intermediate results until a completesub-frame as been analyzed.

The principles of this computation are basic in complex variablemathematics and in basic signal processing theory where an exponentialcan be expressed as a complex combination of Sine and Cosine waves. Inmathematical terms:

e ^(jΦ)=cos(Φ)+j sin(Φ)  (2)

In the preferred embodiment of the invention, the sine values are storedin a lookup table 500 of size M which represents 360 degree, or oneperiod of a sine wave, and which allows a frequency resolution off_(s)/M in the case where the sampling frequency in f_(s) Hz. The cosinevalues are not stored in this table since they can be extracted from thesine value by shifting the angle by 90 degrees or, alternatively byshifting the indices in the lookup table by M/4. Therefore, with theabove description in mind, equation 1 may be rewritten as:$\begin{matrix}{{\xi_{k}\quad (r)} = {{\sum\limits_{i = {rN}}^{{rN} + N - 1}\quad {x_{i}\quad {S\lbrack {\{ {{i\quad \delta \quad (k)} + {{Index}\quad {Cosin}\quad e\quad (k)}} \} \quad {mod}\quad M} \rbrack}}} + {j\quad {\sum\limits_{i = {rN}}^{{rN} + N - 1}\quad {x_{i}\quad {S\lbrack {\{ {{i\quad \delta \quad (k)} + {{Index}\quad {Sine}\quad (k)}} \} \quad {mod}\quad M} \rbrack}}}}}} & (3)\end{matrix}$

where

S(m)=sin(2πm/M) m=0 . . . , M−1 i.e. m is the index of the lookup table

r is the subframe number

N is the size of the subframe

δ(k) is the address step in the table for the k'th frequency analysed

indexCosin e(k) is the last address pointer to the lookup table of theprevious frequency in the previous buffer for the real part of equation3

indexSine(k) is the last address pointer to the lookup table of theprevious frequency in the previous buffer for the imaginary part ofequation 3 (4)

The step size δ (k) is computed by dividing the analyzed frequency bythe frequency resolution. As a concrete example, let us consider MFtones where the nominal frequencies are located at {700, 900, 1100,1300, 1500, and 1700}. If the sampling rate is 8000 Hz and using alookup table of 80 entries, the frequency resolution is 100 Hz and thefollowing values of δ (k) would be obtained {7, 9, 11, 13, 15, 17} eachvalue corresponding to a specific nominal frequency.

The indexcosine(k) and indexSine(k) values shown in the previousequations are computed recursively to reflect the current phase of thecomputation. As illustrated in FIG. 5, the following computationinvolving the modulo M adder 504 and the index register 502 isperformed:

IndexCosine(k)=[IndexCosine(k)+δ(k)]modM

IndexSine(k)=[IndexSine(k)+δ(k)]modM

Where IndexCosine(k) is initialized to M/4 to reflect the 90-degreephase shift of the cosine computation and IndexSine(k) is initialized to0.

The organization described above guarantees continuous phase by usingmodulo M addressing in the look-up table and by storing real andimaginary part of the result separately. The organisation of the lookuptable may vary greatly between different implementations and mannersdifferent from the one presented here do not detract from the spirit ofthe invention as long as the addressing in the look-up table is suchthat is guarantees continuous phase. Continuity of phase allows thecombination of the parameters computed in the sub-frames to be combinedin later processing.

The following block in the spectral analysis stage is theframe-processing block 303. The purpose of this stage is to obtain anindication that there is a candidate tone in a certain frame byperforming the analysis using a window size that represents a compromisebetween time and frequency resolution. The DFT parameters (ξ) computedin the quadrature stage are stored in N_(f) buffers for the duration ofone frame where N_(f) is the number of frequencies analysed. In thepreferred embodiment of this invention, the size of the frame is twosub-frames however larger frames could be used to increase the frequencyresolution of the system without detracting from its spirit. In simpleterms the frame-processing block consists of summing for each nominalfrequency the DFT coefficients of successive sub-frames obtained in thequadrature processing stage in order to obtain the DFT coefficients fora complete frame. This summation is possible because the DFT coefficienthave been computed such as to be have phase continuity betweensub-frames. For each frequency the following computation is performed:$\begin{matrix}{\sum\limits_{p = 0}^{{Nframe} - 1}\quad {\xi_{k}\quad (p)}} & (5)\end{matrix}$

where p is the sub-frame index in the frame, ξ_(k) is the DFTcoefficient computed by the quadrature processing stage 300 for the Kthnominal frequency and Nframe is the number of sub-frames in a frame. Thegeneral scheme of the frame-processing block is shown in detail in FIG.5. In the preferred embodiment of this invention this block comprises:

Complex accumulators 556 558 560, one for each of the nominalfrequencies being evaluated.

As a variant, the frames can also be made to overlap by including one ormore of the last sub-frames composing the frame at the beginning of thefollowing frame. This allows high temporal resolution at the frameprocessing stage at very little additional cost (summation ofsub-frames). Prior art systems would require costly computations to bere-performed on the source samples to achieve the equivalent.

Another block in the spectral analysis is the precision spectralprocessing stage 304. The purpose of this stage is to achieve highfrequency resolution in order to provide precise control of theaccept/reject bands. The DFT parameters (ξ) computed in the quadraturestage are stored in N_(f) buffers for the duration of one segment whereN_(f) is the number of frequencies analysed. In the preferred embodimentof this invention, the size of the segment is seven sub-frames howevershorter or larger segments could be used to increase the frequencyresolution of the system without detracting from its spirit. Theprinciple requirement for the size of the segment is that the frequencyresolution obtained by the combination of these sub-frames into segmentsallows orthogonality within the frequency bands. By maintaining phasecontinuity in the sub-frame DFTs we can perform more precise and morerobust processing than the traditional approaches without a major costin computation. The general scheme of the precision spectral processingblock is shown in detail for one analysed frequency in FIG. 6. In thepreferred embodiment of this invention this block comprises:

Complex multipliers 600, one for each of the local 2L+1 frequencies nearthe nominal frequency being evaluated.

Complex accumulators 602, one for each of the local 2L+1 frequenciesnear the nominal frequency being evaluated.

Magnitude square evaluators 604, one for each of the local 2L+1frequencies near the nominal frequency being evaluated.

Real multipliers 606, one for each of the local 2L+1 frequencies nearthe nominal frequency being evaluated.

A device such as a multiplexor 608 used to select the position ofmaximum amplitude amongst 2L+1 entries.

The precision spectral processing block computes DFTs based on theresults of the DFT produced by the quadrature block. It computes theseDFTs at evenly spaced 2L+1 frequencies about the frequency of interestand uses complex weights to define local frequencies and frequencyresolution. In the preferred embodiment of this invention, a value ofL=2 has been found to yield satisfactory results and hence a DFT iscomputed at 5 local frequencies. A Hamming window in the time domain hasbeen used in this invention to given different weights to certainfrequencies. However, other windows such as the Bartlett window or nowindow at all may be used without detracting from the spirit of theinvention. It must, however, be noted that not using a weight windowwill reduce the frequency accuracy of the system by not givingpreference to any particular frequency in the acceptance band so awindow weighing preferentially frequencies near that of interest isrecommended. Mathematically, the operation performed can be expressed asfollows:

F(k,l)=f(k,l)−f(k)

w_(l)=(p)=w(p) exp {j2πF(k,l)pT_(m)}

where w(p) is a Hamming window

p is the sub-frame index in a segment

T_(m) is the duration of a sub-frame (2.5 ms for 20 samples at 8 kHz)

l is the index of the local frequency [−L, . . . 0 . . . ,+L]

f(k) is the value of the nominal frequency

f(k,l) is the value of a local frequency (6) $\begin{matrix}{{{A\quad ( {k,l} )} = {\alpha \quad ( {k,l} )\quad {{\sum\limits_{p = 0}^{N_{T} - 1}\quad {x_{i}\quad ( {k,p} )*w_{l}\quad (p)}}}^{2}}}{{{location}\quad {of}\quad {maximum}} = {{MAX}\lbrack {{A\quad ( {k,{- L}} )},\ldots \quad,{A\quad ( {k,0} )},\ldots \quad,{A\quad ( {k,L} )}} \rbrack}}} & (7)\end{matrix}$

where N_(T) is the total number of sub-frames in a segment. The resultsof equation 7 are power estimations for narrow frequency bands about thenominal frequencies of interest. Mathematically equation 7 representsthe magnitude squared of the weighted DFT over one segment evaluated atlocal frequency about the frequency of interest. The matrix of α(k,l)values is selected such that the spectral windows obtained bymultiplying the energy estimates intersect at the points determined bythe frequency tolerance. The computation of A(k,l) and of the maximum ofthe values obtained allows us to determine the position of the maximumamplitude value with accuracy. In the preferred embodiment of thisinvention, a vector is used to indicate which bands are acceptable forhaving maximum amplitude and which are not.

Logical Processing

The logical processing block 306 determines, based on the informationobtained from the previous quadrature 300, frame processing 303 andprecision spectral processing blocks 304, if a valid tone has beendetected. The logical processing block 306 is different for each classof signals as illustrated by the cascade of blocks in FIG. 3. Forinstance, in the case of MF and DTMF signalling, two and only twofrequencies must be above the energy threshold while certain CPT toneare composed of single frequency tones. Furthermore, MF signalling theacceptance bands are ±1.5% ±5 Hz while for the DTMF the acceptance bandis only ±1.5%.

In addition to evaluating the information supplied by the spectralprocessing stage, this block evaluates the temporal characteristics ofthe signal. In the case of MF and DTMF signals this temporal analysis islimited to short time duration signals typically in the range of 10 msto 40 ms. In the case of CPT tones, this block also includes a cadenceprocessing operation that compares the received cadence with a set ofpre-determined values. Once either a valid tone or no tone has beendetected, the result is sent to another device such as a controller 116that uses the decoded information. Specifications as found in BellCorepublications are shown in tables 1 through 6 in the previous pages ofthis document.

Here we will present a version of the logical processing block 306applicable to MF tones. This design can be easily extended, although notdirectly applied, to other signalling modes. In a preferred embodimentof this invention applicable to MF tone, the logical processing stagecomprises:

A power and energy evaluation devices which computes the power of thefrequencies of interest.

A state machine comprising four states which are illustrated in FIG. 7along with the permitted transition between them. These states are:

Waitoff 700—waiting for a pause

Toff 702—pause

Front 704—begin receiving tone

Ton 706—receiving tone

Devices to compare computed values to pre-determined thresholds andcentre frequencies.

Initially the receiver is in the WaiToff 700 state where it waits for apause. The receiver turns into the Toff 702 state if the combined energyin the frequencies of interest for MF is below a certain threshold for apre-determined number of sub-frames. This can be done by performing thefollowing computation:${Power} = {\sum\limits_{k = 1}^{6}\quad {{\xi_{k}}^{2}{\langle T_{l}}}}$

Where T_(l) is the energy threshold and ξ_(k) are the coefficientscomputed in the quadrature processing stage. This operation is shown asa flow chart in FIG. 8a. After the transition to Toff 702, in caseswhere the energy is above the threshold T_(l), the receiver switchesfrom the Toff state 702 to the Tfront state 704 where it beginsreceiving the tone. This operation is shown as a flow chart in FIGS. 8band 8 c. If this condition is met for a pre-determined number ofsub-frames, the receiver moves on to the Ton 706 state otherwise itreturns to the WaiToff 700 state. This operation is shown as a flowchart in FIG. 8d. The presence of the Tfront state allows recognizingthe beginning of a tone by means of energy tests only. This is usefulbecause of the fact that the location of the beginning of a tone israndom with respect to the sub-frame boundaries, which makes itdifficult to apply the spectral test. In the case where the beginning ofthe tone doesn't coincides with the beginning of a sub-frame the channelpower will be spread over all frequency channels and, as a result, thethreshold level will be exceeded in two or more channels or not exceededat all. The front state also allows the reception of a tone correctly incases where there is a time shift between the two frequency components.

Once the Ton state 706 is entered, processing is first performed both atthe frame level and at the segment level. Several tests can be appliedhere in order to validate the candidate MF tone:

Two and only two frequency components have their amplitudes above apre-determined threshold.

The location of the maximum amplitude among local frequencies for eachof these two frequencies satisfies some pre-determined tolerancespecification.

The energy of each frequency can be computed by taking the square of themagnitude of the DFT coefficients computed in the frame-processing block303. If the conditions on the frequency and amplitude are satisfied forthe frames then we have a candidate tone. If there are enough successiveframes of the candidate tone then the final frequency tolerance testingis performed. The frequency deviation from the nominal can be evaluatedby simply comparing the position of maximum amplitude computed by theprecision spectral processing block 304 in equation 6 and comparing itto some pre-determined boundary values. In the case of dual tone, thisfrequency tolerance test may be performed only on the two frequencies ofthe candidate tone in order to minimize the computations. If all theconditions have been met, the recognized digit or control signal is sentto a controller and the logical processing block returns to the WaiToff700 state.

From the structural point of view, the tone receiver, in accordance withthis invention can be implemented on a digital signal processor (DSP)chip. The present embodiment was implemented using a 56 MHz Motorola56002 digital signal processor (DSP) written in code able to execute ona 56001 DSP chips and the code is written in assembly language.Alternatively, a dedicated CPU and a memory unit connected to the CPUthrough a bus such that the memory contains instructions that direct theCPU to implement the functional blocks of the tone detection apparatusdescribed above can also be used.

Although the present invention has been described in considerable detailwith reference to certain preferred versions thereof, other versions arepossible. For example in cases where new signalling must be introduced,it is sufficient to modify the parameters such as frequencies analysedand tolerance in order to use this invention. Therefore, the spirit andscope of the appended claims should not be limited to the description ofthe preferred embodiment described above.

We claim:
 1. A tone detection apparatus, said apparatus comprising: aninput for receiving a digital signal potentially containing a tonedetectable by said apparatus; DFT computation means for computing adiscrete Fourier transform coefficient for at least one candidatefrequency for each sub-frame in a set of successive sub-frames of thedigital signal, each sub-frame containing a plurality of signal samples,said DFT computation means computing a discrete Fourier transform for agiven sub-frame of said set other than the first sub-frame of said setin a phase continuity relationship with a preceding sub-frame, said DFTcomputation means providing a phase offset for the given sub-frame toestablish said phase continuity relationship with the precedingsub-frame; processing means utilising said discrete Fourier transformcoefficient for each sub-frame in said set to determine if apredetermined tone exists in said digital signal.
 2. An apparatus fordetecting tones as defined in claim 1, wherein said processing meansincludes means for summing discrete Fourier transform coefficientsassociated with different sub-frames.
 3. An apparatus for detectingtones as defined in claim 2, wherein said discrete Fourier transformgenerated for a first sub-frame in said set is computed by the followingformula:${\xi_{k}\quad (r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}\quad {x_{i}\quad \exp \{ {{j\quad 2\quad \pi \quad f_{k}\quad {iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is a constant designating a phase component; f) N is thenumber of samples in the sub-frame; g) j=sqrt (−1).
 4. An apparatus asdefined in claim 3, wherein the discrete Fourier transform generated fora second sub-frame of said set that follows said first sub-frame iscomputed by the following formula:${\xi_{k}\quad (r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}\quad {x_{i}\quad \exp \{ {{j\quad 2\quad \pi \quad f_{k}\quad {iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is the phase offset for the second sub-frame and is equalto the value of the phase computed for the last sample of the firstsub-frame; f) N is the number of samples in the sub-frame; g) j=sqrt(−1).
 5. An apparatus for detecting tones as defined in claim 4, whereinsaid DFT computation means includes a look-up table.
 6. An apparatus fordetecting tones as defined in claim 5, wherein said look-up tablecontains values of either one of a sine and cosine values.
 7. Anapparatus for detecting tones as defined in claim 6, wherein saidlook-up table includes an index, said index including a plurality ofentries, each entry being associated with either one of a sine andcosine value.
 8. An apparatus as defined in claim 7, wherein each entryof said index is representative of a phase component.
 9. An apparatusfor detecting tones as defined in claim 3, wherein said DFT computationmeans includes at least one complex multiplier.
 10. An apparatus asdefined in claim 1, wherein said processing means is adapted forcomputing a discrete Fourier transform coefficient associated to the setof successive sub-frames on the basis of the discrete Fourier transformcoefficients computed for said sub-frames of said set, the discreteFourier transform coefficient associated to the set of successivesub-frames being associated to a candidate frequency.
 11. An apparatusas defined in claim 10, wherein said processing means is adapted forcomputing a plurality of discrete Fourier transform coefficientsassociated to the set of successive sub-frames, each discrete Fouriertransform coefficient associated to the set of successive sub-framesbeing associated to a respective frequency.
 12. An apparatus as definedin claim 11, wherein said processing means provides means for computing:at least one discrete Fourier transform coefficient for the discreteFourier transform coefficients computed for said sub-frames of said setat a first frequency that is less than a candidate frequency at which atone is susceptible to be detected; at least one discrete Fouriertransform coefficient for the discrete Fourier transform coefficientscomputed for said sub-frames of said set at a second frequency that ishigher than a candidate frequency at which a tone is susceptible to bedetected.
 13. An apparatus as defined in claim 12, wherein saidprocessing means provides means for computing a discrete Fouriertransform coefficient for the discrete Fourier transform coefficientscomputed for said sub-frames of said set at a frequency that correspondsto the candidate frequency at which a tone is susceptible to bedetected.
 14. An apparatus as defined in claim 1, wherein said apparatusis capable of detecting MF tones.
 15. An apparatus as defined in claim1, wherein said apparatus is capable of detecting DTMF tones.
 16. Anapparatus as defined in claim 1, wherein said apparatus is capable ofdetecting CPT tones.
 17. An apparatus as defined in claim 1, whereinsaid apparatus is capable of detecting MF-R2 tones.
 18. An apparatus asdefined in claim 1, including an analog-to-digital converter foroutputting the digital signal.
 19. In a tone detection apparatus, animprovement comprising: an input for receiving a digital signalpotentially containing a tone detectable by said apparatus; first levelDFT computation means for processing the digital signal to compute aplurality of discrete Fourier transform coefficients associated to acandidate frequency, each discrete Fourier transform coefficient beingassociated to a respective sub-frame in a set of successive sub-framesof the digital signal; second level DFT computation means for computingat least one discrete Fourier transform coefficient associated to theset of successive sub-frames on the basis of the plurality of discreteFourier transform coefficients computed by said first level DFTcomputation means.
 20. The improvement as defined in claim 19, whereinsaid first level DFT computation means is adapted for computing adiscrete Fourier transform for a given sub-frame of said set in a phasecontinuity relationship with a preceding sub-frame of said set.
 21. Theimprovement as defined in claim 20, wherein said discrete Fouriertransform generated for a first sub-frame in said set by said firstlevel DFT computation means is computed by the following formula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is a constant designating a phase component; f) N is thenumber of samples in the sub-frame; g) j=sqrt (−1).
 22. The improvementas defined in claim 21, wherein the discrete Fourier transform generatedby said first level DFT computation means for a second sub-frame of saidset that follows said first sub-frame is computed by the followingformula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is the phase offset for the second sub-frame and is equalto the value of the phase computed for the last sample of the firstsub-frame; f) N is the number of samples in the sub-frame; g) j=sqrt(−1).
 23. A method for detecting tones in a digital signal, said methodcomprising the steps of: receiving a digital signal potentiallycontaining a tone detectable by said apparatus; computing a discreteFourier transform coefficient for at least one candidate frequency foreach sub-frame in a set of successive sub-frames of the digital signal,each sub-frame containing a plurality of signal samples, the computationof a discrete Fourier transform for a given sub-frame of said set otherthan the first sub-frame of said set being effected in a phasecontinuity relationship with a preceding sub-frame, the computation of adiscrete Fourier transform for the given sub-frame including providing aphase offset to establish said phase continuity relationship with thepreceding sub-frame; utilising said discrete Fourier transformcoefficient for each sub-frame in said set to determine if apredetermined tone exists in said digital signal.
 24. In a method fordetecting tones in a digital signal, an improvement comprising the stepsof: a) receiving a digital signal potentially containing a tone; b)processing the digital signal to compute a plurality of discrete Fouriertransform coefficients associated to a candidate frequency, eachdiscrete Fourier transform coefficient being associated to a respectivesub-frame in a set of successive sub-frames of the digital signal; c)computing at least one discrete Fourier transform coefficient associatedto the set of successive sub-frames on the basis of the plurality ofdiscrete Fourier transform coefficients computed at step b).
 25. Theimprovement as defined in claim 24, wherein step b) further comprisescomputing a discrete Fourier transform for a given sub-frame of said setin a phase continuity relationship with a preceding sub-frame of saidset.
 26. The improvement as defined in claim 25, wherein said discreteFourier transform generated for a first sub-frame in said set iscomputed by the following formula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is a constant designating a phase component; f) N is thenumber of samples in the sub-frame; g) j=sqrt (−1).
 27. The improvementas defined in claim 26, wherein the discrete Fourier transform generatedfor a second sub-frame of said set that follows said first sub-frame iscomputed by the following formula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is the phase offset for the second sub-frame and is equalto the value of the phase computed for the last sample of the firstsub-frame; f) N is the number of samples in the sub-frame; g) j=sqrt(−1).
 28. In a tone detection apparatus, an improvement comprising: aninput for receiving a digital signal potentially containing a tonedetectable by said apparatus; a first level DFT computation unit forprocessing the digital signal to compute a plurality of discrete Fouriertransform coefficients associated to a candidate frequency, eachdiscrete Fourier transform coefficient being associated to a respectivesub-frame in a set of successive sub-frames of the digital signal; asecond level DFT computation unit for computing at least one discreteFourier transform coefficient associated to the set of successivesub-frames on the basis of the plurality of discrete Fourier transformcoefficients computed by said first level DFT computation unit.
 29. Theimprovement as defined in claim 28, wherein said first level DFTcomputation unit is adapted for computing a discrete Fourier transformfor a given sub-frame of said set in a phase continuity relationshipwith a preceding sub-frame of said set.
 30. The improvement as definedin claim 29, wherein said discrete Fourier transform generated for afirst sub-frame in said set by said first level DFT computation unit iscomputed by the following formula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is a constant designating a phase component; f) N is thenumber of samples in the sub-frame; g) j=sqrt (−1).
 31. The improvementas defined in claim 30, wherein the discrete Fourier transform generatedby said first level DFT computation unit for a second sub-frame of saidset that follows said first sub-frame is computed by the followingformula:${\xi_{k}(r)} = {\sum\limits_{i = {rN}}^{{rN} + N - 1}{x_{i}\exp \{ {{j\quad 2\quad \pi \quad f_{k}{iT}} + \Phi_{k}} )}}$

where: a) x_(i) designates the amplitude of the sample at time i; b) ris the sub-frame number; k is the index of the frequency analysed; c)f_(k) is the frequency analysed; d) T is the reciprocal of the samplingrate; e) Φ_(k) is the phase offset for the second sub-frame and is equalto the value of the phase computed for the last sample of the firstsub-frame; f) N is the number of samples in the sub-frame; g) j=sqrt(−1).